home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1996 February
/
EnigmA AMIGA RUN 04 (1996)(G.R. Edizioni)(IT)[!][issue 1996-02][Skylink CD III].iso
/
earcd
/
program
/
door_io.lha
/
door_io.library
/
door_io.dok
< prev
next >
Wrap
Text File
|
1995-09-05
|
4KB
|
87 lines
Hallo.. hier die Doku für die door_io.library
Ich habe sie allen BBS-Door Programmierern gewidmet (mir auch).
Die Lirary ermöglicht es, gleichzeitig zeichen (strings) einzulesen und
auf Ereignisse zu reagieren. Dies ist für MultiUserDungeons (MUD) oder ähnliche
Programme nötig. Ich habe die lib für ein _fast_MUD_ namens Gore benutzt.
Gore ist mehr ein MUDSG .. multiuserdungeonspladdergame.. :)
Tja.. es ist halt nicht soo toll, wenn man gerade ein Kommando eintippert, und
wenn man fertiggetippt hat eine messie bekommt "ein level 4711-Zombie hat dich
gerade mit der Kettensäge rasiert" :)
Eine andere nützliche Sache ist der Metazeichenexpander (ich nenn das mal so..)
ein "#" wird als Steuerzeichen benutzt und das folgende zeichen sagt, was passiert.
0 -> color black
1 -> color red
2 -> color green
3 -> color blue
4 -> color yellow
5 -> color magenta
6 -> color cyan
7 -> color white
n -> CR/LF
s -> standard colors
Die packetio-routinen waren eigentlich nicht als shared lib geplant aber wir wollten
sie auch in einer chatter-library (die bald für AmBoS verfügbar sein wird) benutzen,
und da hab ichs halt mal als library gemacht..
Die Library und die headerfiles sind copyright by A.Haarer 1995+ dürfen kostenlos
benutzt werden. Sie dürfen auf einer profitfreien Grundlage kopiert und verbreitet
werden. Die Kommerzielle Nutzung ist ohne schriftliche Erlaubnis des Autors verboten.
Tja.. das Programm ist dingensware schickt halt irgendwem irgendwas..
_______________________________________________________________________________
F: Wozu ist das gut ?
A: Diese shared library vereinfacht i/o operationen in BBS-Cli-Doorprogrammen
- man kann GLEICHZEITG auf die Eingabe warten und Exec-Messages empfangen
- man kann eine Funktion angeben, die bei "carrier-lost" angesprungen wird
- es gibt einen "metazeichenexpander" um die ausgabe einfach farbig zu gestalten.
________________________________________________________________________________
F: Wie funktionierts ?
A: Die Library benutzt dospackets und die Ein-Ausgaben durchzuführen. Deshalb kann man
damit auf Eingaben und eigene Messages gleichzeitig warten. Die Handles
Input() und Output() werden benutzt um den Handlerprozess zu ermitteln
_________________________________________________________________________________
F: Warum soll ich die Lib benutzen ? Ich kann doch die Zeichen einzeln pollen !
A: - Weil pollen in einer Multitasking kompletter Dummfug ist. Das macht man auf
ner DOSe so, aber nicht auf nem Amiga !
- Pollen bremst das gesamte System aus und ist in diesem Fall schlechtes Software-
Design !
- Wenn man die Zeichen einzeln pollt, muß man sich einen Stringeingabe selbst
schreiben !
- polling suxx :)
_________________________________________________________________________________
Q: Wie benutze ich die Lib ?
A: - Ersetze die Stringeingaben durch BOX_getstr()
- Ersetze die Stringausgaben durch BOX_getstr() und formatiere die Strings
mit sprintf() wenn nötig.
- Initialisiere the geöffnete Library mit BOX_start() und übergebe einige Werte:
- meta_on 1 -> das "#" steuert die farben an
0 -> der text wird genau so ausgegeben wie er im string steht
- carrier_lost_hook (oder NULL) zeiger auf Funktion die bei carrier loss aufgerufen wird
- exthandler wird aufgerufen, wenn eins der sigbits zutrifft
- sigmask signalbits die den exthandler aufrufen
- die signalmake kann jederzeit mit BOX_setmask() geändert werden
- die carrier_lost Hookfunktion muß BOX_stop() aufrufen
- DIE BEIDEN HOOKFUNKTIONEN MÜSSEN MIT __saveds DEKLARIERT WERDEN
(__saveds setzt den near data pointer manche compiler verwenden __geta4)
- BOX_stop() beim programmende aufrufen
_________________________________________________________________________________
Q: Kontakt zum Autor
A: - Email an MAC@nasus.north.de oder MAC@dontpanic.sub.org
- Call the Castle of Confusion BBS : +49 421 636 7544 or +49 421 636 8643